1. Write the IDL interface (class) -> describe the data and methods the interface will provide -> it may be added to a more general module (namespace) e.g. : create a file "example.idl" ! place the file in $DRDC_ROOT/idl ! edit Makefile.am and add the new idl file under globalsources ! run Make -> up to this point you generated code files from the IDL interface (files for client & server) -> copy the IDL file to your development folder and create implementation files (.cpp + .h) e.g. : run "tao_idl -GI example.idl" and only keep exampleI.cpp and exampleI.h 3. Edit the example implementation header file accordingly e.g. : "exampleI.h" 4. Write the actual implementation for the example implementation class -> define how each data is used and what each method implements e.g. "exampleI.cpp" UP TO THIS POINT AN OBJECT CALLED "EXAMPLE" HAS BEEN DEFINED (with all its behaviours) 5. Write the implementation for the example SERVER (also called the BASE) -> it needs to include "miro/Server.h" which defines a MIRO SERVER -> it need a reference to the IDL header file "exampleS.h" (the interface/class definition for the server) -> it creates a local entity that will run on the server according to the definitions of the example object -> it inherits the attributes defined in the object's header file ("exampleI.h") e.g. : "exampleServer.cpp" a). create a server ORB (for registering the service with the naming service) e.g. : " Miro::Server server(argc, argv); " b). create an instance of the implementation e.g. : " Miro::example exampleImplem; " or " Miro_example exampleImplem; " c). create a pointer to the implementation object e.g. : " Miro::example_var pExample; pExample = exampleImplem._this(); " d). register the implementation object with the naming service e.g. : " server.addToNameService(pExample.in(), "ExampleA"); " e). start the server e.g. : " server.run(); " 6. Write the implementation for the example CLIENT (also called a BASE) -> it needs to include "miro/Client.h" which defines a MIRO CLIENT -> it does not need any knowledge of the example implementation; it only needs a reference to the "exampleC.h" header file generated by the TAO IDL compiler out of the IDL file (the interface/class definition for the client) e.g. : "exampleClient.cpp" a). create a client ORB e.g. : "Miro::Client client(argc,argv); " b). subscribe to the service provided by the server e.g. : "Miro::example_var sample = client.resolveName("ExampleA"); c). add your client's implementation / behaviour THEN FOLLOW "Creating a Project using Automake & Autoconf" or... ..............Optionally 7. Create a workspace and a project manager & creator file -> (optional) specify a workspace containing multiple projects -> write the project creator file e.g. : "example.mwc" & "example.mpc" 8. Use mwc & mpc pearl scripts to generate the desired makefiles e.g. : "mpc.pl -type make example.mpc" 9. Make your makefiles e.g. : "make ... " 10. Follow the steps in "How to run..."